// list相关配置
import {nanoid} from 'nanoid'
export default {
    namespaced:true,
    //准备actions对象——响应组件中用户的动作
    actions:{
        userAdd(context,userObj){
            // console.log(context.rootState.userAbout.dispatch);
            // console.log(context);
            if (context.state.users.length==0) {
                if(userObj.userName===''||userObj.userName===null){
                    alert('添加失败，用户名不合法')
                }else{
                    if (userObj.password===''||userObj.password===null) {
                        alert('添加失败，密码不合法')
                    }else{
                        if (userObj.password !== userObj.pwdConfirm) {
                            alert('添加失败，密码不相同')
                        }else{
                            context.commit('UserAdd',userObj)
                            // console.log(userObj);
                            const cre = [userObj,context]
                            context.commit('UserCreate',cre)
                            // alert('添加成功,没有用户')
                        }
                    }
                }
            }else{
                if(userObj.userName===''||userObj.userName===null){
                    alert('添加失败，用户名不合法')
                }else{
                    for (let user of context.state.users) {
                        // console.log(user);
                        if(userObj.userName == user.userName){
                            alert('添加失败，用户名已存在')
                            return
                        }
                    }
                    if (userObj.password===''||userObj.password===null) {
                        alert('添加失败，密码不合法')
                    }else{
                        if (userObj.password !== userObj.pwdConfirm) {
                            alert('添加失败，密码不相同')
                        }else{
                            context.commit('UserAdd',userObj)
                            const cre = [userObj,context]
                            context.commit('UserCreate',cre)
                            // alert('添加成功')
                        }
                    }       
                }
            }
        },
   },
   // 准备mutations对象——修改state中的数据
   mutations:{
        UserAdd(state,userObj){
            state.users.unshift(userObj)
            // console.log(state.users)
            alert('注册成功，您的用户名为: '+userObj.userName+'   密码为: '+userObj.password)
        },
        UserCreate(state,cre){
            const userObj = {id:cre[0].id,todos:[]}
            // console.log(cre[0]);
            // console.log(cre[1]);
            cre[1].rootState.listAbout.todosLists.unshift(userObj)
            localStorage.setItem('todosLists',JSON.stringify(cre[1].rootState.listAbout.todosLists))
            console.log(cre[1].rootState.listAbout.todosLists);
        }
   },
   // 准备state对象——保存具体的数据
   state:{
        users:JSON.parse(localStorage.getItem('users'))||[]
        // users:[
        //     {id:123,userName:123},
        //     {id:1234,userName:1234},
        // ]
   },



 
}